<?php
require_once realpath(dirname(__FILE__) . '//..//..//..//pages.php');
require_once MDL_REQ_FORM;
require_once CLASS_DATABASE;
require_once CLASS_FORM;
require_once CLASS_OPTION;
require_once CLASS_SELECT;
require_once INC_DEFINES;
require_once INC_FUNCTIONS;

function classe ($values) {
    if (isset ($values['ID'])) {
        require_once CLASS_CLASSE;
        $ID = $values['ID'];
        $db = openConnection ();

        $form = formClasse ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=classe&ID=$ID");
        
        $classe = new Classe ($values);
        $classe->reload ();

        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $classe->get ('nome'));

        return $form;
    }
    return false;
}

function distretto ($values) {
    if (isset ($values['ID'])) {
        require_once CLASS_DISTRETTO;
        $ID = $values['ID'];
        $db = openConnection ();

        $distretto = new Distretto ($values);
        $distretto->reload ();

        $form = formDistretto ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=distretto&ID=$ID");

        /* Nome */
        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $distretto->get ('nome'));

        /* Descrizione */
        $tag = $form->getTagByName ('descrizione');
        $tag[0]->add ($distretto->get ('descrizione'));

        return $form;
    }
    return false;
}

function docente ($values) {
    if (isset ($values['ID'])) {
        require_once CLASS_DOCENTE;
        $ID = $values['ID'];
        $db = openConnection ();

        $docente = new Docente ($values);
        $docente->reload ();

        $form = formDocente ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=docente&ID=$ID");

        /* Setting docente */
        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $docente->get ('nome'));
        $tag = $form->getTagByName ('cognome');
        $tag[0]->addAttribute ('value', $docente->get ('cognome'));
        
        /* Initializing indirizzo*/
        $tag = $form->getTagByName('indirizzo');
        $tag[0]->addAttribute ('value', $docente->get ('indirizzo'));
        
        /* Initializing data*/
        $tag = $form->getTagByName('data');
        $tag[0]->addAttribute ('value', $docente->get ('data'));
        
        /* Initializing email*/
        $tag = $form->getTagByName('email');
        $tag[0]->addAttribute ('value', $docente->get ('email'));
        
        /* Initializing citta*/
        $tag = $form->getTagByName('citta');
        $tag[0]->addAttribute ('value', $docente->get ('citta'));
        
        /* Initializing telefono*/
        $tag = $form->getTagByName('telefono');
        $tag[0]->addAttribute ('value', $docente->get ('telefono'));
        
        /* Initializing fax*/
        $tag = $form->getTagByName('fax');
        $tag[0]->addAttribute ('value', $docente->get ('fax'));
        
        /* Initializing sesso */
        $tag = $form->getTagByName('sesso');
        if ($docente->get ('sesso') == $tag[0]->getAttribute ('value')) {
            $tag[0]->addAttribute ('checked', 'checked');
        } else if ($docente->get ('sesso') == $tag[0]->getAttribute ('value')) {
            $tag[1]->addAttribute ('checked', 'checked');
        }

        /* Getting IDs of materia */
        $values = array ();
        $result = $db->select ('insegna', 'IDmateria', "IDdocente=$ID", null, 'IDmateria');
        while ($row = $db->fetchAssoc ($result)) {
            $values[] = $row['IDmateria'];
        }
        $tag = $form->getTagByName ('IDmateria[]');
        $tag[0]->setSelected ($values);

        /* Getting IDs of lavora_in */
        $values = array ();
        $result = $db->select ('lavora_in', 'IDscuola', "IDdocente=$ID", null, 'IDscuola');
        while ($row = $db->fetchAssoc ($result)) {
            $values[] = $row['IDscuola'];
        }
        $tag = $form->getTagByName ('IDscuola[]');
        $tag[0]->setSelected ($values);

        return $form;
    }
    return false;
}

function indirizzo ($values) {
    if (isset ($values['ID'])) {
        require_once CLASS_INDIRIZZO;
        $ID = $values['ID'];
        
        $indirizzo = new Indirizzo ($values);
        $indirizzo->reload ();
        
        $form = formIndirizzo ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=indirizzo&ID=$ID");
        
        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $indirizzo->get ('nome'));
        
        $tag = $form->getTagByName ('descrizione');
        $tag[0]->add ($indirizzo->get ('descrizione'));
        
        return $form;
    }
    return false;
}

function intervento ($values) {
    if (isset ($values['ID'])) {
        require_once CLASS_EFFETTUA;
        require_once CLASS_INTERVENTO;
        $ID = $values['ID'];

        $intervento = new Intervento ($values);
        $intervento->reload ();

        $form = formIntervento ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=intervento&ID=$ID");

        /* Argomenti */
        $tag = $form->getTagByName ('argomenti');
        $tag[0]->add ($intervento->get ('argomenti'));
        /* Giudizio */
        $tag = $form->getTagByName ('giudizio');
        $tag[0]->add ($intervento->get ('giudizio'));
        /* Note */
        $tag = $form->getTagByName ('note');
        $tag[0]->add ($intervento->get ('note'));
        
        $tag = $form->getTagByName ('data');
        $tag[0]->addAttribute ('value', $intervento->get ('data'));
        
        $tag = $form->getTagByName ('ora');
        $tag[0]->addAttribute ('value', $intervento->get ('ora'));
        
        $tag = $form->getTagByName ('durata');
        $tag[0]->addAttribute ('value', $intervento->get ('durata'));

        $tag = $form->getTagByName ('IDtipo_intervento');
        $tag[0]->setSelected ($intervento->get ('IDtipo_intervento'));

        $effettua = new Effettua ($values);
        $effettua->reload ("effettua.IDintervento=$ID");

        $tag = $form->getTagByName ('IDdocente');
        $tag[0]->setSelected ($effettua->get ('IDdocente'));

        $tag = $form->getTagByName ('IDmateria');
        $tag[0]->setSelected ($effettua->get ('IDmateria'));

        $tag = $form->getTagByName ('IDospedale');
        $tag[0]->setSelected ($effettua->get ('IDospedale'));

        $tag = $form->getTagByName ('IDreparto');
        $tag[0]->setSelected ($effettua->get ('IDreparto'));

        $tag = $form->getTagByName ('IDricovero');
        $tag[0]->setSelected ($effettua->get ('IDricovero'));

        $tag = $form->getTagByName ('IDstudente');
        $tag[0]->setSelected ($effettua->get ('IDstudente'));

        return $form;
    }
    return false;
}

function materia ($values) {
    if (isset ($values['ID'])) {
        $ID = $values['ID'];
        require_once CLASS_MATERIA;
        
        $form = formMateria ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=materia&ID=$ID");
        
        $materia = new Materia ($values);
        $materia->reload ();
        
        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $materia->get ('nome'));
        
        $tag = $form->getTagByName ('descrizione');
        $tag[0]->add ('value', $materia->get ('descrizione'));
        
        return $form;
    }
    return false;
}

function ospedale ($values) {
    if (isset ($values['ID'])) {
        $ID = $values['ID'];
        require_once CLASS_OSPEDALE;

        $form = formOspedale ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=ospedale&ID=$ID");

        $ospedale = new Ospedale ($values);
        $ospedale->reload ();

        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $ospedale->get ('nome'));
        
        $tag = $form->getTagByName ('descrizione');
        $tag[0]->add ($ospedale->get ('descrizione'));
        
        $tag = $form->getTagByName ('indirizzo');
        $tag[0]->addAttribute ('value', $ospedale->get ('indirizzo'));
        
        $tag = $form->getTagByName ('citta');
        $tag[0]->addAttribute ('value', $ospedale->get ('citta'));
        
        $tag = $form->getTagByName ('telefono');
        $tag[0]->addAttribute ('value', $ospedale->get ('telefono'));
        
        $tag = $form->getTagByName ('fax');
        $tag[0]->addAttribute ('value', $ospedale->get ('fax'));
        
        $tag = $form->getTagByName ('email');
        $tag[0]->addAttribute ('value', $ospedale->get ('email'));
        
        $tag = $form->getTagByName('IDdistretto');
        $tag[0]->setSelected ($values);

        return $form;
    }
    return false;
}

function permesso ($values) {
    if (isset ($values['ID'])) {
        $ID = $values['ID'];
        require_once CLASS_PERMESSO;
        $user = new User ($values);
        $user->reload ('ID=' . $values['IDuser']);

        $form = formPermesso ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=permesso&ID=$ID");
        
        $db = openConnection ();

        $select = $form->getTagByName ('action[]');
        $result = $db->select ('possiede', 'IDpermesso', "possiede.IDuser='" . $user->get ('ID') . "'");
        if ($result) {
            while ($row = $db->fetchAssoc ($result)) {
                $permesso = new Permesso (array ('ID' => $row['IDpermesso']));
                $permesso->reload ();
                if ($permesso->exist ()) {
                    $select->setSelected ($permesso->get ('action'));
                    echo $permesso->get ('action');
                }
            }
        }
        return $form;
    }
    return false;
}

function reparto ($values) {
    if (isset ($values['ID'])) {
        $ID = $values['ID'];
        require_once CLASS_REPARTO;
        
        $reparto = new Reparto($values);
        $reparto->reload();
        
        $form = formReparto();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=reparto&ID=$ID");
        
        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $reparto->get ('nome'));
        
        $tag = $form->getTagByName ('descrizione');
        $tag[0]->add ($reparto->get ('descrizione'));
        
        return $form;
    }
    return false;
}

function ricovero ($values) {
    if (isset ($values['ID'])) {
        $ID = $values['ID'];
        require_once CLASS_RICOVERO;
        
        $form = formRicovero();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=ricovero&ID=$ID");
        
        $ricovero = new Ricovero ($values);
        $ricovero->reload();
        
        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $ricovero->get ('nome'));
        
        $tag = $form->getTagByName ('data');
        $tag[0]->addAttribute ('value', $ricovero->get ('data'));
        
        $tag = $form->getTagByName('IDtipo_ricovero');
        $tag[0]->setSelected ($ricovero->get('IDtipo_ricovero'));
        
        $tag = $form->getTagByName('IDstudente');
        $tag[0]->setSelected ($ricovero->get('IDstudente'));
        
        return $form;
    }
    return false;
}

function scuola ($values) {
    if (isset ($values['ID'])) {
        $ID = $values['ID'];
        require_once CLASS_SCUOLA;
        
        $scuola = new Scuola($values);
        $scuola->reload ();
        
        $form = formScuola ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=scuola&ID=$ID");
        
        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $scuola->get ('nome'));
        
        $tag = $form->getTagByName ('descrizione');
        $tag[0]->add ($scuola->get ('descrizione'));
        
        $tag = $form->getTagByName ('indirizzo');
        $tag[0]->addAttribute ('value', $scuola->get ('indirizzo'));
        
        $tag = $form->getTagByName ('citta');
        $tag[0]->addAttribute ('value', $scuola->get ('citta'));
        
        $tag = $form->getTagByName ('telefono');
        $tag[0]->addAttribute ('value', $scuola->get ('telefono'));
        
        $tag = $form->getTagByName ('fax');
        $tag[0]->addAttribute ('value', $scuola->get ('fax'));
        
        $tag = $form->getTagByName ('email');
        $tag[0]->addAttribute ('value', $scuola->get ('email'));
        
        $tag = $form->getTagByName('IDdistretto');
        $tag[0]->setSelected ($values);
        
        return $form;
    }
    return false;
}

function studente ($values) {
     if (isset ($values['ID'])) {
        $ID = $values['ID'];
        require_once CLASS_STUDENTE;
        require_once CLASS_FREQUENTA;
        
        $form = formStudente ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=studente&ID=$ID");
        
        $studente = new Studente($values);
        $studente->reload();
        
        $tag = $form->getTagByName ('cognome');
        $tag[0]->addAttribute ('value', $studente->get ('cognome'));
        
        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $studente->get ('nome'));
        
        $tag = $form->getTagByName ('telefono');
        $tag[0]->addAttribute ('value', $studente->get ('telefono'));
        
        $tag = $form->getTagByName ('email');
        $tag[0]->addAttribute ('value', $studente->get ('email'));
        
        $tag = $form->getTagByName ('indirizzo');
        $tag[0]->addAttribute ('value', $studente->get ('indirizzo'));
        
        $frequenta = new Frequenta($values);
        $frequenta->reload();
        
        $tag = $form->getTagByName ('IDclasse');
        $tag[0]->setSelected ($frequenta->get ('IDclasse'));
        
        $tag = $form->getTagByName ('IDscuola');
        $tag[0]->setSelected ($frequenta->get ('IDscuola'));
        
        
        $tag = $form->getTagByName ('IDindirizzo');
        $tag[0]->setSelected ($frequenta->get ('IDindirizzo'));
        
        /* Initializing data*/
        $tag = $form->getTagByName('data');
        $tag[0]->addAttribute ('value', $studente->get ('data'));
        
        $tag = $form->getTagByName('sesso');
        if ($studente->get ('sesso') == $tag[0]->getAttribute ('value')) {
            $tag[0]->addAttribute ('checked', 'checked');
        } else {
            $tag[1]->addAttribute ('checked', 'checked');
        }
        
        return $form;
     }
     return false;
}

function tipoIntervento ($values) {
    if (isset ($values['ID'])) {
        $ID = $values['ID'];
        require_once CLASS_TIPO_INTERVENTO;

        $form = formTipoIntervento ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=tipo_intervento&ID=$ID");

        $tipo_intervento = new TipoIntervento ($values);
        $tipo_intervento->reload ();

        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $tipo_intervento->get ('nome'));

        return $form;
    }
    return false;
}

function tipoRicovero ($values) {
    if (isset ($values['ID'])) {
        $ID = $values['ID'];
        require_once CLASS_TIPO_RICOVERO;

        $form = formTipoRicovero ();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=tipo_ricovero&ID=$ID");

        $tipo_ricovero = new TipoRicovero ($values);
        $tipo_ricovero->reload ();

        $tag = $form->getTagByName ('nome');
        $tag[0]->addAttribute ('value', $tipo_ricovero->get ('nome'));

        return $form;
    }
    return false;
}

function user ($values) {
    if (isset ($values['ID'])) {
        $ID = $values['ID'];
        require_once CLASS_USER;
        
        $form = formUser();
        $form->addAttribute ('action', HTTP_CTRL_MAIN . "?request=edit&table=user&ID=$ID");
        
        $user = new User($values);
        $user->reload();
        
        $tag = $form->getTagByName ('username');
        $tag[0]->addAttribute ('value', $user->get ('username'));
        
        $tag = $form->getTagByName ('last_login');
        $tag[0]->addAttribute ('value', $user->get ('last_login'));
        
        return $form;
    }
    return false;
}

?>
